What can cause Assembler, Distributor, and Presenter to start repeatedly?

Assembler, Distributor, and Presenter validate their connection to the database, via ODBC, when you start the system. If you notice that these processes are starting and failing repeatedly, turn on logging for the Supervisor within Documaker Administrator. Set the logging option to debug for each process by updating the appconfigcontext set, as shown here:

value='debug' where app_id=1 and group_name like
'%oracle.documaker.processmonitor.process%';

Then look at the logs in the docfactory\logs directory. Some of the logs will contain the startup arguments for all the processes, including the startup arguments being passed to the GenData instances. If something is wrong there, you will likely see:

ERROR-[null-Distributor-1-oracle.documaker.processmonitor.process.instance.Instance]-[InstanceMonitor.java:260]-oracle.documaker.processmonitor.process.monitors.InstanceMonitor.run: 
Instance <1> with pid <0> is no longer running. Exit
code=<8>. Restarting!
Instance Console Output:
--- GenData ---
Error in main(): Unable to
RunGenData(). See error file for more messages.
--- GenData Completed ---

Here is an example of the Receiver error:

2011-07-07
10:42:05,775-ERROR-[main]-[AbstractDAO.java:2521]-oracle.documaker.dao.AbstractDAO.ack: 
java.lang.Exception: No column metadata available!
at oracle.documaker.dao.AbstractDAO.getColumnMetadata(AbstractDAO.java:631)
at oracle.documaker.dao.AbstractDAO.updatePreparedStatement(AbstractDAO.java:954)
at oracle.documaker.dao.AbstractDAO.setUpdates(AbstractDAO.java:923)
at oracle.documaker.dao.AbstractDAO.ack(AbstractDAO.java:2508)
at oracle.documaker.rp.jdbc.GenericDAO.ack(GenericDAO.java:772)
at oracle.documaker.rp.jdbc.DAO.updateObject(DAO.java:308)

Here are some steps to take to resolve the problem:

Check the ODBC Connection information in INI file references for these three processes (typically fsiuser_1.ini, fsiuser_2.ini, and fsiuser_3.ini) which all point to the fsisys.ini file. Update these values to point to the correct schema/ODBC data source name.

Check the data source connection and turn on logging. The issue may be caused by an invalid reference in the tnsnames.ora file. If you see this in the sql.log file:

DIAG [S1000] [Oracle][ODBC][Ora]ORA-12541: TNS:nolistener (12541)

check the values for the env.TNS_ADMIN property of the Assembler, Distributor, and Presenter workers within the Documaker Administrator.

Make sure the bindings files for all of the workers have the correct schema name for the Assembly Line established. The default installation uses the account: dmkr_asline.

Look in the current directory of the MRL for a trace file and see if there are errors there.

Look in the docfactory\logs directory for additional start or restart errors.

Look in the docfactory\temp\gendata\logs directories, where the GenData program is really the Assembler, Distributor, or Presenter.